package com.hhs.storage.bean;

//15给一个８位整数，如２０３８０９０８编程判断这个数字做为日期是不是合法的。
//注意闰年等。闰年的判断式：能被4整除且不能被100整除的为闰年。（如2004年就是闰年,1901年不是闰年）
//②能被400整除的是闰年。(如2000年是闰年，1900年不是闰年)。
public class T15 {
    public static void main(String[] args) {
        int x = 20380932;
        int a = x / 10000;
        int b = (x - a * 10000) / 100;
        int c = x - a * 10000 - b * 100;
        //首先，年要判断的是不是闰年。月要判断大小月和二月，日期大于31的都不合法。
        if (c > 31 || c == 0) {
            System.out.println("不合法");
        }           //后面加else之后，就剩下c<=31且不为0的情况了。
        else if (b > 12 || b == 0) {
            System.out.println("不合法");
        }      //后面加else之后，就剩下b<=12且不为0的情况了。
        else if (b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 || b == 12) {
            System.out.println("合法");
        } else if ((b == 4 || b == 6 || b == 9 || b == 11) && (c < 31)) {
            System.out.println("合法");
        } else if (b == 2) {
            if ((a % 4 == 0 && a % 100 != 0) || (a % 400 == 0)) {
                if (c < 30) {
                    System.out.println("合法");
                }
            }   //b=2且a是闰年的时候，c<30合法。
            else if (c < 29) {
                System.out.println("合法");     //不是闰年的时候，c<29，合法。else不合法。
                System.out.println("不合法");
            }
        }

    }
}
